package com.zmj.tl.database.taos.service;

import com.zmj.tl.database.taos.domain.MeterMetric;
import com.zmj.tl.database.taos.domain.MeterSchema;

/**
 * @author hd
 * @desc
 * @since 2024/1/29 10:58
 */
public interface MeterService {
    /**
     * @param meterSchema 约束
     * @desc 创建超级表
     * @author hd
     * @since 2024/2/1 13:24
     **/
    int createTable(MeterSchema meterSchema);

    /**
     * @param meterSchema 约束
     * @desc 创建子表
     * @author hd
     * @since 2024/2/1 13:24
     **/
    int createStable(MeterSchema meterSchema);

    /**
     * @param meterSchema 约束
     * @desc 删除超级表
     * @author hd
     * @since 2024/2/1 13:24
     **/
    void dropTable(MeterSchema meterSchema);

    /**
     * @param meterSchema 约束
     * @desc 删除库
     * @author hd
     * @since 2024/2/1 13:24
     **/
    void dropDataBase(MeterSchema meterSchema);

    /**
     * @param metric 表计参数
     * @desc 新增表计参数
     * @author hd
     * @since 2024/2/1 12:34
     **/
    void addOne(MeterMetric metric);

    /**
     * @param metric 表计参数
     * @desc 新增表计参数
     * @author hd
     * @since 2024/2/1 12:35
     **/
    void addEntity(MeterMetric metric);

    /**
     * @param metric 表计参数
     * @desc 批量新增表计参数
     * @author hd
     * @since 2024/2/1 12:35
     **/
    void addBatch(MeterMetric metric);
}
